Pervasive mobile computing has become increasingly popular with the appearance and penetration of mobile devices such as portable notebook computers, tablet personal computers (PCs), internet tablets, personal digital assistants, ultra mobile PCs, smart phones, and carputers. Pervasive mobile computing supports the accessibility of data and services at any time, from anywhere, and in any form. As wireless wide area networks (WWAN), wireless local area networks (WLAN), and short range wireless technology (e.g., Bluetooth) converge to support data and voice, cross layer network design will enable peer-to-peer (P2P) communications between mobile devices, further increasing the pervasiveness of mobile applications. Specific types of pervasive mobile applications include context-aware mobile applications. In context-aware mobile applications, it is desirable that programs and services react specifically to their current location, time and other environment attributes and adapt their behavior to changing circumstances as context data change.
The needed context information may be retrieved in a variety of ways such as applying sensors, device information, user demographics, device/user interactions, network information, device status, browsing user profiles, and using other sources. For example, during device operation the physical operating environment or the physical location of the device may change causing the data and/or services to change. Data and services may change due to the time of day, or based on how the user interacts with the device and the mobile application. In another example, the occurrence of an event may impact the operation of the device. For instance, power outages, increases in Internet traffic, or changes in environmental conditions (e.g., the weather when the device is being operated outdoors) may occur.
All data (e.g., text, images, audio, video, and html) maintained within a context-aware mobile application are associated with contextual metadata. Contextual metadata may include time, date, location, keywords, demographics, to mention a few examples.
In the above-mentioned environments, mobile computing applications suffer from various challenges including intermittent connectivity and the lack of device resources. Intermittent connectivity refers to the requirement that the mobile application must often continue to operate despite the short or long periods of network unavailability. The lack of device resources is due in part to the small sizes of the mobile devices, thereby restricting the available device storage, computational capacity, and power. Previous systems have proved inadequate in addressing these problems.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein.